perm filename KLDCP.PAL[KL,SYS]11 blob sn#556819 filedate 1981-01-17 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM
C00004 00003	ASSEMBLY PARAMETERS
C00008 00004	KLDCPU UTILITY PROGRAM PARAMETERS
C00009 00005	FUQ::		THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
C00011 ENDMK
C⊗;
;DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM


DECVER==010
MCNVER==0
SAILVR==7	;STANFORD VERSION NUMBER.  (DEFINING SAILVR MAKES STANFORD ASSEMBLY)

		
.TITLE	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10

.LIST	MC,MD
;.DSABL	GBL
;.DSABL	REG
.ABS
;.ENABL	AMA

;JOHN R. KIRCHOFF
;DIGITAL EQUIPMENT CORPORATION
;MARLBORO, MASS. 01752


;[  NOTE:  If you change SBST11, you should reassemble KLDCPU also! ]
;Stanford Revision History.  
;
;1	 4/17/76	Convert to PALX
;2	 4/19/76	Install EPTREL switch
;			Fix LE,LT, etc. to use correct extension by default.
;3	 4/26/76	Add clock sub-functions 4,5
;4	 4/29/76	Make clock interrupt.  Fix SET MONMOD.
;5	 5/11/76	Change clock subfunctions 4,5 for pdp-10 doubleword time
;6	 5/24/76	Add MIT code for MZ, PCF, DDT command, ST mods,
;			Also JBR's code for keeping DSKDMP BOOT in 11-core
;7	 4/29/80	JEP (Jim Powell) & REG to support ethernet and QM protocol
;			Through 7/80
;8	 1/12/81	Bugtrap and fixes to ethernet stuff. (TVR)
;ASSEMBLY PARAMETERS

KLDCP=	1	;ASSEMBLE KLDCP
DTEASB=	1	;ASSEMBLE DTE20
DTEDEF= 1	;DEFINE DTE OFFSET ADDRESSES
DVSASB=	1	;ASSEMBLE DEVICE SERVICE
KWASB=	1	;ASSEMBLE KW CLOCK
DLASB=	1	;ASSEMBLE DL11
;DHASB=	1	;ASSEMBLE DH11
;TAASB=	1	;ASSEMBLE TA CASSETTE
;RXASB=	1	;ASSEMBLE RX11/RX01 FLOPPY
TCASB=	1	;ASSEMBLE TC DECTAPE
;RPASB=	1	;ASSEMBLE RP04 DISK PACK
;LPASB=	1	;ASSEMBLE LP20 LINE PRINTER
EPTREL==1	;ASSEMBLE EXAMINES/DEPOSITS FOR COMMUNICATIONS RELATIVE TO EPT
;BPTASB==1	;ASSEMBLE KLDCP TYPE BREAKPOINT STUFF
BOOASB==1	;ASSEMBLE DSKDMP BOOT STUFF
%%DDT==1	;ASSEMBLE TO ALLOW DDT TO COEXIST WITH KLDCP
TELASB==1	;ASSEMBLE DIALUP CONNECTION CODE, TURN OFF KLINIK FEATURE
CLKASB==1	;ASSEMBLE TCU-100 BATTERY CLOCK CODE
;UTLASB==1	;ASSEMBLE LINKAGES TO KLDCPU
;MONASB==1	;ASSEMBLE MONITOR TYPE COMMANDS (INCLUDES SOME ACT10 STUFF)
%%QMP==1	;Assemble queued message protocol,
			;front-end reloads from WAITS
			;ethernet support
;;FSCASB==1	;Assemble statistics for QMP free storage.
PCKASB==1	;Assemble checksumming of incoming PUPs (QMP11)

$NB=	8.	;USE 8 BREAKPOINTS

;SUBROUTINE CODE BEGINS AT 16K (WORDS)

PRGSRT	=16.*1024.*2.
COREND	=28.*1024.*2.

.IF DF %%DDT
%DDTS==PRGSRT-12
TOUTBF=3000	;OVERLAY BUFFER DOWN WHERE DIAGS GO
.IFF
TOUTBF=	70000	;OVERLAY BUFFER
.ENDC

;PDP-10 ABSOLUTE CORE LOCATIONS:

$STD=	440	;PDP-10 DIAGNOSTIC START ADDRESS
$DDT=	441	;PDP-10 DDT START ADDRESS
$STL=	442	;PDP-10 LOADER START ADDRESS
$STM=	443	;PDP-10 MONITOR START ADDRESS

;PDP-10 KL10 EXEC PROCESS TABLE PARAMETERS. 
;IF EPTREL≠0 THEN ALL OF THE FOLLOWING ARE RELATIVE TO EBR IN THE KL10

$DTFLG=	444	;DTE20 OPERATION COMPLETE FLAG
$DTCLK=	445	;DTE20 CLOCK INTERRUPT FLAG
;;$DTCI=	446	;DTE20 CLOCK INTERRUPT INSTRUCTION (10 SOFTWARE ONLY)
.LIF DF CLKASB
$DTTIME=446	;DTE20 TIME AND DATE FROM BATTERY BACKUP CLOCK
$DTT11=	447	;DTE20 10 TO 11 ARGUMENT
$DTF11=	450	;DTE20 11 TO 10 ARGUMENT
$DTCMD=	451	;DTE20 TO 11 COMMAND WORD
$DTSEQ=	452	;DTE20 OPERATION SEQUENCE NUMBER (10 SOFTWARE ONLY. NOT USED)
$DTOPR=	453	;DTE20 OPERATION IN PROGRESS FLAG (10 SOFTWARE ONLY. NOT USED)
$DTCHR=	454	;DTE20 LAST KEY TYPED ON CTY
$DTMTD=	455	;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG
$DTMTI=	456	;DTE20 MONITOR TTY INPUT FLAG
$DTSWR=	457	;DTE20 PDP-10 SWITCH REGISTER
$DTQMP= 460	;DTE20 11 TELLS 10 THE SIZE OF A TO10 TRANSFER
;KLDCPU UTILITY PROGRAM PARAMETERS

;UTILITY IDENTIFICATION

PID=	3004	;PROGRAM NAME
PDVER=	3010	;DEC VERSION
PMVER=	3012	;MCN VERSION

;UTILITY SUB-PROGRAM DISPATCH ADDRESSES

PTABLE=	3020	;START OF TABLE

RXCOPY=	3020	;RX11/RX01 FLOPPY COPY PROGRAM
DTCOPY=	3022	;TC11 DECTAPE COPY PROGRAM
WFILE=	3024	;WRITE FILE FROM DTA/RX TO RP04 PROGRAM
TAPT=	3026	;TRANSFER FILE FROM APT10 TO RP04 PROGRAM
DSKDIR=	3030	;RP04 DISK DIRECTORY
REMOTE=	3032	;REMOTE TELETYPE COMMUNICATIONS
XMEMSZ==512.	;#OF K OF PDP-10 MEMORY TO ZERO IN MZ 0,-1 COMMAND
FUQ::		;THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
		;FIRST LABEL" ERROR MESSAGE FROM PALX.
		;(THERE ARE MACRO DEFINITIONS WITH LOCAL TAGS IN THEM)

;INSERT THE REST OF KLDCP

			;Parameters file
.INSRT	PRM11.PAL

			;Starting vectors & other constant code
.INSRT	BEG11.PAL

			;console code
.INSRT	CONS11.PAL

			;breakpoints
.LIF DF BPTASB	
  .INSRT  BPNT11.PAL

			;subroutines, EMT dispatch, Initialization
.INSRT	SUB11.PAL

			;KL10 C-Ram/D-Ram functions
.INSRT	FD11.PAL		

			;Dectape
.INSRT	DTA11.PAL

			;Disk boot for WAITS
.LIF DF BOOASB
  .INSRT  BOOT.PAL

			;RX01 floppies
.LIF DF RXASB
  .INSRT  FLOPPY.PAL

			;RP04 disk
.LIF DF RPASB
  .INSRT  RP0411.PAL

			;queued message protocol
.LIF DF %%QMP
  .INSRT  QMP11.PAL

			;File loading and command functions
.INSRT	APT11.PAL		

			;PDP-11 Core Dump to A11 file
;.INSRT	CDMP11.PAL

			;KL10 diagnostic functions
.INSRT	BR11.PAL		

			;Storage definitions
.INSRT	SBST11.PAL

.END	$ILOAD		;initial startup in SUB11